﻿using GalaSoft.MvvmLight.Messaging;

namespace Dsl.Ped.Designer.Controllers
{
    /// <summary>
    /// Interface implemented by any controller intended
    /// for the coordination of stuff within MSVS
    /// </summary>
    public interface IVSController
    {
        /// <summary>
        /// Start the controller for a given <see cref="Messenger"/> instance.
        /// </summary>
        /// <param name="messenger">A communication channel for sending and receiving messages</param>
        void Start(Messenger messenger);

        /// <summary>
        /// Stop the controller, it will not receive and handle messages over the configured
        /// communication channel.
        /// </summary>
        void Stop();
    }
}
